package com.itany.reflex;

/**
 * Author:石小俊
 * Date: 2022/11/2 10:31
 */
public class Test01 {

    public static void main(String[] args) throws ClassNotFoundException {
        // 方式一:调用类的class属性
        // 即:类名.class
        Class c1 = Student.class;
        // 方式二:调用对象的getClass()方法
        Student student = new Student();
        Class c2 = student.getClass();
        // 方式三:调用Class类提供的静态方法forName("包名.类名")
        // 该方法会抛出ClassNotFoundException
        // 当指定的包名.类名不存在时抛出异常
        Class c3 = Class.forName("com.itany.reflex.Student");

        // 打印后发现结果都是true
        // 因此,这三种方式获取的Class对象是同一个
        System.out.println(c1 == c2);
        System.out.println(c2 == c3);
        System.out.println(c1 == c3);
    }

}
